﻿using System;
using System.Runtime.InteropServices;
using System.Text;

namespace Valve.VR
{
	// Token: 0x0200078F RID: 1935
	public class CVRChaperoneSetup
	{
		// Token: 0x06002E51 RID: 11857 RVA: 0x000F2418 File Offset: 0x000F0618
		internal CVRChaperoneSetup(IntPtr pInterface)
		{
			this.FnTable = (IVRChaperoneSetup)Marshal.PtrToStructure(pInterface, typeof(IVRChaperoneSetup));
		}

		// Token: 0x06002E52 RID: 11858 RVA: 0x000F243C File Offset: 0x000F063C
		public bool CommitWorkingCopy(EChaperoneConfigFile configFile)
		{
			return this.FnTable.CommitWorkingCopy(configFile);
		}

		// Token: 0x06002E53 RID: 11859 RVA: 0x000F245C File Offset: 0x000F065C
		public void RevertWorkingCopy()
		{
			this.FnTable.RevertWorkingCopy();
		}

		// Token: 0x06002E54 RID: 11860 RVA: 0x000F2470 File Offset: 0x000F0670
		public bool GetWorkingPlayAreaSize(ref float pSizeX, ref float pSizeZ)
		{
			pSizeX = 0f;
			pSizeZ = 0f;
			return this.FnTable.GetWorkingPlayAreaSize(ref pSizeX, ref pSizeZ);
		}

		// Token: 0x06002E55 RID: 11861 RVA: 0x000F24A0 File Offset: 0x000F06A0
		public bool GetWorkingPlayAreaRect(ref HmdQuad_t rect)
		{
			return this.FnTable.GetWorkingPlayAreaRect(ref rect);
		}

		// Token: 0x06002E56 RID: 11862 RVA: 0x000F24C0 File Offset: 0x000F06C0
		public bool GetWorkingCollisionBoundsInfo(out HmdQuad_t[] pQuadsBuffer)
		{
			uint num = 0U;
			bool flag = this.FnTable.GetWorkingCollisionBoundsInfo(null, ref num);
			pQuadsBuffer = new HmdQuad_t[num];
			return this.FnTable.GetWorkingCollisionBoundsInfo(pQuadsBuffer, ref num);
		}

		// Token: 0x06002E57 RID: 11863 RVA: 0x000F2504 File Offset: 0x000F0704
		public bool GetLiveCollisionBoundsInfo(out HmdQuad_t[] pQuadsBuffer)
		{
			uint num = 0U;
			bool flag = this.FnTable.GetLiveCollisionBoundsInfo(null, ref num);
			pQuadsBuffer = new HmdQuad_t[num];
			return this.FnTable.GetLiveCollisionBoundsInfo(pQuadsBuffer, ref num);
		}

		// Token: 0x06002E58 RID: 11864 RVA: 0x000F2548 File Offset: 0x000F0748
		public bool GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose)
		{
			return this.FnTable.GetWorkingSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose);
		}

		// Token: 0x06002E59 RID: 11865 RVA: 0x000F2568 File Offset: 0x000F0768
		public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose)
		{
			return this.FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose);
		}

		// Token: 0x06002E5A RID: 11866 RVA: 0x000F2588 File Offset: 0x000F0788
		public void SetWorkingPlayAreaSize(float sizeX, float sizeZ)
		{
			this.FnTable.SetWorkingPlayAreaSize(sizeX, sizeZ);
		}

		// Token: 0x06002E5B RID: 11867 RVA: 0x000F259C File Offset: 0x000F079C
		public void SetWorkingCollisionBoundsInfo(HmdQuad_t[] pQuadsBuffer)
		{
			this.FnTable.SetWorkingCollisionBoundsInfo(pQuadsBuffer, (uint)pQuadsBuffer.Length);
		}

		// Token: 0x06002E5C RID: 11868 RVA: 0x000F25B4 File Offset: 0x000F07B4
		public void SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose)
		{
			this.FnTable.SetWorkingSeatedZeroPoseToRawTrackingPose(ref pMatSeatedZeroPoseToRawTrackingPose);
		}

		// Token: 0x06002E5D RID: 11869 RVA: 0x000F25C8 File Offset: 0x000F07C8
		public void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose)
		{
			this.FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose);
		}

		// Token: 0x06002E5E RID: 11870 RVA: 0x000F25DC File Offset: 0x000F07DC
		public void ReloadFromDisk(EChaperoneConfigFile configFile)
		{
			this.FnTable.ReloadFromDisk(configFile);
		}

		// Token: 0x06002E5F RID: 11871 RVA: 0x000F25F0 File Offset: 0x000F07F0
		public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose)
		{
			return this.FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose);
		}

		// Token: 0x06002E60 RID: 11872 RVA: 0x000F2610 File Offset: 0x000F0810
		public void SetWorkingCollisionBoundsTagsInfo(byte[] pTagsBuffer)
		{
			this.FnTable.SetWorkingCollisionBoundsTagsInfo(pTagsBuffer, (uint)pTagsBuffer.Length);
		}

		// Token: 0x06002E61 RID: 11873 RVA: 0x000F2628 File Offset: 0x000F0828
		public bool GetLiveCollisionBoundsTagsInfo(out byte[] pTagsBuffer)
		{
			uint num = 0U;
			bool flag = this.FnTable.GetLiveCollisionBoundsTagsInfo(null, ref num);
			pTagsBuffer = new byte[num];
			return this.FnTable.GetLiveCollisionBoundsTagsInfo(pTagsBuffer, ref num);
		}

		// Token: 0x06002E62 RID: 11874 RVA: 0x000F266C File Offset: 0x000F086C
		public bool SetWorkingPhysicalBoundsInfo(HmdQuad_t[] pQuadsBuffer)
		{
			return this.FnTable.SetWorkingPhysicalBoundsInfo(pQuadsBuffer, (uint)pQuadsBuffer.Length);
		}

		// Token: 0x06002E63 RID: 11875 RVA: 0x000F2690 File Offset: 0x000F0890
		public bool GetLivePhysicalBoundsInfo(out HmdQuad_t[] pQuadsBuffer)
		{
			uint num = 0U;
			bool flag = this.FnTable.GetLivePhysicalBoundsInfo(null, ref num);
			pQuadsBuffer = new HmdQuad_t[num];
			return this.FnTable.GetLivePhysicalBoundsInfo(pQuadsBuffer, ref num);
		}

		// Token: 0x06002E64 RID: 11876 RVA: 0x000F26D4 File Offset: 0x000F08D4
		public bool ExportLiveToBuffer(StringBuilder pBuffer, ref uint pnBufferLength)
		{
			pnBufferLength = 0U;
			return this.FnTable.ExportLiveToBuffer(pBuffer, ref pnBufferLength);
		}

		// Token: 0x06002E65 RID: 11877 RVA: 0x000F26F8 File Offset: 0x000F08F8
		public bool ImportFromBufferToWorking(string pBuffer, uint nImportFlags)
		{
			return this.FnTable.ImportFromBufferToWorking(pBuffer, nImportFlags);
		}

		// Token: 0x04002ADF RID: 10975
		private IVRChaperoneSetup FnTable;
	}
}
